require "lua/puz_statics"

-------b 消除游戏
Games_Puz = 0x01
-- 回合
GSPuz_Cot	= 0x01      --连消:一次行动中连续消除宝石的次数(消除-重新排球-消除 = 2次)
GSPuz_PuzList	= 0x02  --消除宝石列表(单列/行): [(类型,数量)]
GSPuz_PuzGems	= 0x03  --消除宝石列表(总数):{类型:数量}
-- 整场

-------e 消除游戏


--------------------- 统计管理类
CGgame_Stats = {dicList={}, g_puz_mgr=nil, }
--这句是重定义元表的索引，必须要有，
CGgame_Stats.__index = CGgame_Stats
--模拟构造体，一般名称为new()
function CGgame_Stats:new()
    local self = {}   
    setmetatable(self, CGgame_Stats)   --必须要有
    
    self.dicEvts = {}
    self.dicList = {}
    
    self.dicList[Games_Puz] = GPuzStatics.new()
    
    return self  
end

function CGgame_Stats:destroy()
end

function CGgame_Stats:set_datas(gtype, stype, value)
    local gmgr = self.dicList[gtype]
    if gmgr ~= nil then
        if stype == GSPuz_Cot then
            gmgr:f_cot(value)
        elseif stype == GSPuz_PuzList then
            gmgr:f_puzlist(value[1], value[2], value[3])
        elseif stype == GSPuz_PuzGems then
            gmgr:f_puzgems(value[1], value[2])
        end
    end
    
    --[[    
    local gmgr = self.dicList[gtype]
    print(gtype,stype,value,"++++++")
    if gmgr~= nil then
        gmgr.dicEvts[stype](value)
    end
    ]]--
end

function CGgame_Stats:get_datas(gtype, stype)
    local gmgr = self.dicList[gtype]
    local data = nil
    if gmgr~= nil then
        data = gmgr.dicDatas[stype]
    end
    
    return data
end

function CGgame_Stats:newRound(gtype)
    local gmgr = self.dicList[gtype]
    if gmgr~= nil then
        gmgr:newRound()
    end
end
    















